//面试题 17.04 消失的数字
//数组nums包含从0到n的所有整数，但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗？ 
//
// 注意：本题相对书上原题稍作改动 
//
// 示例 1： 
//
// 输入：[3,0,1]
//输出：2 
//
// 
//
// 示例 2： 
//
// 输入：[9,6,4,2,3,5,7,0,1]
//输出：8
// 
// Related Topics 位运算 数组 数学


package leetcode.editor.cn;

class A面试题1704MissingNumberLcci {
    public static void main(String[] args) {
        Solution solution = new A面试题1704MissingNumberLcci().new Solution();
        System.out.println("佛祖保佑");
        System.out.println("\uD80C\uDC09\uD80C\uDC02\uD80C\uDC03\uD80C\uDC10");

    }

    //leetcode submit region begin(Prohibit modification and deletion)

    /**
     * 数学法，赛高
     * 解答成功:
     * 执行耗时:0 ms,击败了100.00% 的Java用户
     * 内存消耗:40.5 MB,击败了100.00% 的Java用户
     */
    class Solution {
        public int missingNumber(int[] nums) {

            int n = nums.length;
            int sum = n * (n + 1) / 2;

            for (int i = 0; i < nums.length; i++) {
                sum -= nums[i];
            }
            return sum;

        }
    }
//leetcode submit region end(Prohibit modification and deletion)

}
